<!doctype html>


<html>
<head>
  <link rel="shortcut icon" href="static/images/favicon.ico" type="image/x-icon">
  <title>mat3d.js (Closure Library API Documentation - JavaScript)</title>
  <link rel="stylesheet" href="static/css/base.css">
  <link rel="stylesheet" href="static/css/doc.css">
  <link rel="stylesheet" href="static/css/sidetree.css">
  <link rel="stylesheet" href="static/css/prettify.css">

  <script>
     var _staticFilePath = "static/";
     var _typeTreeName = "goog";
     var _fileTreeName = "Source";
  </script>

  <script src="static/js/doc.js">
  </script>


  <meta charset="utf8">
</head>

<body onload="grokdoc.onLoad();">

<div id="header">
  <div class="g-section g-tpl-50-50 g-split">
    <div class="g-unit g-first">
      <a id="logo" href="index.html">Closure Library API Documentation</a>
    </div>

    <div class="g-unit">
      <div class="g-c">
        <strong>Go to class or file:</strong>
        <input type="text" id="ac">
      </div>
    </div>
  </div>
</div>





<div class="colmask rightmenu">
<div class="colleft">
    <div class="col1">
      <!-- Column 1 start -->

<div id="title">
       <span class="fn">mat3d.js</span>
</div>

<div class="g-section g-tpl-75-25">
  <div class="g-unit g-first" id="description">
    <span class='nodesc'>No description.</span>
  </div>
  

        <div class="g-unit" id="useful-links">
          <div class="title">Useful links</div>
          <ol>
            <li><a href="local_closure_goog_vec_mat3d.js.source.html"><span class='source-code-link'>Source Code</span></a></li>
            <li><a href="http://code.google.com/p/closure-library/source/browse/local/closure/goog/vec/mat3d.js">Git</a></li>
          </ol>
        </div>
</div>

<h2 class="g-first">File Location</h2>
  <div class="g-section g-tpl-20-80">
    <div class="g-unit g-first">
      <div class="g-c-cell code-label">/goog/vec/mat3d.js</div>
    </div>
  </div>
<hr/>


   
<br/>

  <div class="legend">
        <span class="key publickey"></span><span>Public</span>
        <span class="key protectedkey"></span><span>Protected</span>
        <span class="key privatekey"></span><span>Private</span>
  </div>









<div class="section">
  <table class="horiz-rule">


  </table>
</div>




  <h2>Global Functions</h2>





<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.addMat"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">addMat<span class="args">(<span class="arg">mat0</span>,&nbsp;<span class="arg">mat1</span>,&nbsp;<span class="arg">resultMat</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Performs a per-component addition of the matrices mat0 and mat1, storing
the result into resultMat.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat0</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The first addend.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">mat1</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The second addend.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">resultMat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix to
    receive the results (may be either mat0 or mat1).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return resultMat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line449">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.create"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">create<span class="args">()</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Creates a mat3d with all elements initialized to zero.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            The new mat3d.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line50">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.equals"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">equals<span class="args">(<span class="arg">mat0</span>,&nbsp;<span class="arg">mat1</span>)</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>
      </div>


     <div class="entryOverview">
       Returns true if the components of mat0 are equal to the components of mat1.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat0</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The first matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">mat1</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The second matrix.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>&nbsp;
            True if the the two matrices are equivalent.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line625">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.getColumn"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">getColumn<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">column</span>,&nbsp;<span class="arg">vec</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.vec3d.Type</span>
      </div>


     <div class="entryOverview">
       Retrieves the specified column from the matrix into the given vector
array.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix supplying the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">column</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The column to get the values from.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">vec</span>
        : <span class="type">goog.vec.vec3d.Type</span>
        <div class="entryOverview">The vector elements to receive the
    column.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.vec3d.Type</span>&nbsp;
            return vec so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line269">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.getColumns"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">getColumns<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">vec0</span>,&nbsp;<span class="arg">vec1</span>,&nbsp;<span class="arg">vec2</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Retrieves the column values from the given matrix into the given vector
elements.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix supplying the columns.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec0</span>
        : <span class="type">goog.vec.vec3d.Type</span>
        <div class="entryOverview">The vector to receive column 0.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">vec1</span>
        : <span class="type">goog.vec.vec3d.Type</span>
        <div class="entryOverview">The vector to receive column 1.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec2</span>
        : <span class="type">goog.vec.vec3d.Type</span>
        <div class="entryOverview">The vector to receive column 2.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line305">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.getElement"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">getElement<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">row</span>,&nbsp;<span class="arg">column</span>)</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
      </div>


     <div class="entryOverview">
       Retrieves the element at the requested row and column.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix containing the value to
    retrieve.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">row</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The row index.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">column</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The column index.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>&nbsp;
            The element value at the requested row, column indices.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line164">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.getRow"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">getRow<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">row</span>,&nbsp;<span class="arg">vec</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.vec3d.Type</span>
      </div>


     <div class="entryOverview">
       Retrieves the row values into the given vector.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix supplying the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">row</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The index of the row supplying the values.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">vec</span>
        : <span class="type">goog.vec.vec3d.Type</span>
        <div class="entryOverview">The vector to receive the row.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.vec3d.Type</span>&nbsp;
            return vec so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line357">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.getRows"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">getRows<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">vec0</span>,&nbsp;<span class="arg">vec1</span>,&nbsp;<span class="arg">vec2</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Retrieves the rows of the matrix into the supplied vectors.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix to supplying the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec0</span>
        : <span class="type">goog.vec.vec3d.Type</span>
        <div class="entryOverview">The vector to receive row 0.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">vec1</span>
        : <span class="type">goog.vec.vec3d.Type</span>
        <div class="entryOverview">The vector to receive row 1.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec2</span>
        : <span class="type">goog.vec.vec3d.Type</span>
        <div class="entryOverview">The vector to receive row 2.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line391">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.invert"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">invert<span class="args">(<span class="arg">mat0</span>,&nbsp;<span class="arg">resultMat</span>)</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>
      </div>


     <div class="entryOverview">
       Computes the inverse of mat0 storing the result into resultMat. If the
inverse is defined, this function returns true, false otherwise.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat0</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix to invert.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">resultMat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix to receive
    the result (may be mat0).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>&nbsp;
            True if the inverse is defined. If false is returned,
    resultMat is not modified.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line589">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.makeEulerZXZ"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">makeEulerZXZ<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">theta1</span>,&nbsp;<span class="arg">theta2</span>,&nbsp;<span class="arg">theta3</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Makes the given 3x3 matrix a rotation matrix given Euler angles using
the ZXZ convention.
Given the euler angles [theta1, theta2, theta3], the rotation is defined as
rotation = rotation_z(theta1) * rotation_x(theta2) * rotation_z(theta3),
with theta1 in [0, 2 * pi], theta2 in [0, pi] and theta3 in [0, 2 * pi].
rotation_x(theta) means rotation around the X axis of theta radians.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">theta1</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The angle of rotation around the Z axis in radians.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">theta2</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The angle of rotation around the X axis in radians.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">theta3</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The angle of rotation around the Z axis in radians.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line968">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.makeIdentity"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">makeIdentity<span class="args">(<span class="arg">mat</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Makes the given 3x3 matrix the identity matrix.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so operations can be chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line424">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.makeRotate"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">makeRotate<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">angle</span>,&nbsp;<span class="arg">ax</span>,&nbsp;<span class="arg">ay</span>,&nbsp;<span class="arg">az</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Makes the given 3x3 matrix a rotation matrix with the given rotation
angle about the axis defined by the vector (ax, ay, az).


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">angle</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The rotation angle in radians.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">ax</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The x component of the rotation axis.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">ay</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The y component of the rotation axis.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">az</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The z component of the rotation axis.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line714">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.makeRotateX"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">makeRotateX<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">angle</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Makes the given 3x3 matrix a rotation matrix with the given rotation
angle about the X axis.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">angle</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The rotation angle in radians.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line742">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.makeRotateY"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">makeRotateY<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">angle</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Makes the given 3x3 matrix a rotation matrix with the given rotation
angle about the Y axis.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">angle</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The rotation angle in radians.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line769">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.makeRotateZ"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">makeRotateZ<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">angle</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Makes the given 3x3 matrix a rotation matrix with the given rotation
angle about the Z axis.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">angle</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The rotation angle in radians.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line796">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.makeScale"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">makeScale<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">x</span>,&nbsp;<span class="arg">y</span>,&nbsp;<span class="arg">z</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Makes the given 3x3 matrix a scale matrix with x, y, and z scale factors.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The 3x3 (9-element) matrix
    array to receive the new scale matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">x</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The scale along the x axis.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">y</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The scale along the y axis.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">z</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The scale along the z axis.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line688">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.makeTranslate"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">makeTranslate<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">x</span>,&nbsp;<span class="arg">y</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Makes the given 3x3 matrix a translation matrix with x and y
translation values.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">x</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The translation along the x axis.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">y</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The translation along the y axis.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line663">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.makeZero"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">makeZero<span class="args">(<span class="arg">mat</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Makes the given 3x3 matrix the zero matrix.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so operations can be chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line404">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.multMat"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">multMat<span class="args">(<span class="arg">mat0</span>,&nbsp;<span class="arg">mat1</span>,&nbsp;<span class="arg">resultMat</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Multiplies the two matrices mat0 and mat1 using matrix multiplication,
storing the result into resultMat.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat0</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The first (left hand) matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">mat1</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The second (right hand) matrix.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">resultMat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix to receive
    the results (may be either mat0 or mat1).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return resultMat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line524">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.multScalar"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">multScalar<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">scalar</span>,&nbsp;<span class="arg">resultMat</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Multiplies matrix mat0 with the given scalar, storing the result
into resultMat.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">scalar</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The scalar value to multiple to each element of mat.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">resultMat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix to receive
    the results (may be mat).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return resultMat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line499">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.multVec3"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">multVec3<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">vec</span>,&nbsp;<span class="arg">resultVec</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.vec3d.Type</span>
      </div>


     <div class="entryOverview">
       Transforms the given vector with the given matrix storing the resulting,
transformed matrix into resultVec.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix supplying the transformation.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec</span>
        : <span class="type">goog.vec.vec3d.Type</span>
        <div class="entryOverview">The vector to transform.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">resultVec</span>
        : <span class="type">goog.vec.vec3d.Type</span>
        <div class="entryOverview">The vector to
    receive the results (may be vec).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.vec3d.Type</span>&nbsp;
            return resultVec so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line644">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.rotate"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">rotate<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">angle</span>,&nbsp;<span class="arg">x</span>,&nbsp;<span class="arg">y</span>,&nbsp;<span class="arg">z</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Rotate the given matrix by angle about the x,y,z axis.  Equivalent to:
goog.vec.mat3d.multMat(
    mat,
    goog.vec.mat3d.makeRotate(goog.vec.mat3d.create(), angle, x, y, z),
    mat);


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">angle</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The angle in radians.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">x</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The x component of the rotation axis.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">y</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The y component of the rotation axis.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">z</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The z component of the rotation axis.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line829">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.rotateX"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">rotateX<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">angle</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Rotate the given matrix by angle about the x axis.  Equivalent to:
goog.vec.mat3d.multMat(
    mat,
    goog.vec.mat3d.makeRotateX(goog.vec.mat3d.create(), angle),
    mat);


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">angle</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The angle in radians.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line875">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.rotateY"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">rotateY<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">angle</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Rotate the given matrix by angle about the y axis.  Equivalent to:
goog.vec.mat3d.multMat(
    mat,
    goog.vec.mat3d.makeRotateY(goog.vec.mat3d.create(), angle),
    mat);


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">angle</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The angle in radians.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line905">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.rotateZ"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">rotateZ<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">angle</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Rotate the given matrix by angle about the z axis.  Equivalent to:
goog.vec.mat3d.multMat(
    mat,
    goog.vec.mat3d.makeRotateZ(goog.vec.mat3d.create(), angle),
    mat);


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">angle</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The angle in radians.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line935">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.setColumn"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">setColumn<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">column</span>,&nbsp;<span class="arg">vec</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Sets the specified column with the value from the supplied array.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix to receive the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">column</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The column index to set the values on.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">vec</span>
        : <span class="type">goog.vec.vec3d.Type</span>
        <div class="entryOverview">The vector elements for the column.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line249">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.setColumnValues"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">setColumnValues<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">column</span>,&nbsp;<span class="arg">v0</span>,&nbsp;<span class="arg">v1</span>,&nbsp;<span class="arg">v2</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Sets the specified column with the supplied values.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix to recieve the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">column</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The column index to set the values on.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v0</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The value for row 0.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v1</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The value for row 1.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v2</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The value for row 2.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line231">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.setColumns"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">setColumns<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">vec0</span>,&nbsp;<span class="arg">vec1</span>,&nbsp;<span class="arg">vec2</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Sets the columns of the matrix from the set of vector elements.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix to receive the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec0</span>
        : <span class="type">goog.vec.vec3d.Type</span>
        <div class="entryOverview">The values for column 0.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">vec1</span>
        : <span class="type">goog.vec.vec3d.Type</span>
        <div class="entryOverview">The values for column 1.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec2</span>
        : <span class="type">goog.vec.vec3d.Type</span>
        <div class="entryOverview">The values for column 2.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line288">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.setDiagonal"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">setDiagonal<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">vec</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Sets the diagonal values of the matrix from the given vector.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix to receive the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec</span>
        : <span class="type">goog.vec.vec3d.Type</span>
        <div class="entryOverview">The vector containing the values.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line212">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.setDiagonalValues"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">setDiagonalValues<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">v00</span>,&nbsp;<span class="arg">v11</span>,&nbsp;<span class="arg">v22</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Sets the diagonal values of the matrix from the given values.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix to receive the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v00</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values for (0, 0).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v11</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values for (1, 1).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v22</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values for (2, 2).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line196">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.setElement"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">setElement<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">row</span>,&nbsp;<span class="arg">column</span>,&nbsp;<span class="arg">value</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Sets the element at the requested row and column.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix containing the value to
    retrieve.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">row</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The row index.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">column</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The column index.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">value</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The value to set at the requested row, column.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line180">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.setFromArray"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">setFromArray<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">src</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Initializes mat3d mat from Array src.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The destination matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">src</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>&gt;
        <div class="entryOverview">The source matrix.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            Return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line141">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.setFromMat3d"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">setFromMat3d<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">src</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Initializes mat3d mat from mat3d src.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The destination matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">src</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The source matrix.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            Return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line96">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.setFromMat3f"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">setFromMat3f<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">src</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Initializes mat3d mat from mat3f src (typed as a Float32Array to
avoid circular goog.requires).


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The destination matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">src</span>
        : <span class="type">Float32Array</span>
        <div class="entryOverview">The source matrix.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            Return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line119">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.setFromValues"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">setFromValues<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">v00</span>,&nbsp;<span class="arg">v10</span>,&nbsp;<span class="arg">v20</span>,&nbsp;<span class="arg">v01</span>,&nbsp;<span class="arg">v11</span>,&nbsp;<span class="arg">v21</span>,&nbsp;<span class="arg">v02</span>,&nbsp;<span class="arg">v12</span>,&nbsp;<span class="arg">v22</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Initializes the matrix from the set of values. Note the values supplied are
in column major order.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix to receive the
    values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v00</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (0, 0).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v10</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (1, 0).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v20</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (2, 0).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v01</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (0, 1).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v11</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (1, 1).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v21</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (2, 1).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v02</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (0, 2).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v12</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (1, 2).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v22</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (2, 2).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line73">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.setRow"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">setRow<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">row</span>,&nbsp;<span class="arg">vec</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Sets the row values from the supplied vector.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix to receive the row values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">row</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The index of the row.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">vec</span>
        : <span class="type">goog.vec.vec3d.Type</span>
        <div class="entryOverview">The vector containing the values.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line340">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.setRowValues"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">setRowValues<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">row</span>,&nbsp;<span class="arg">v0</span>,&nbsp;<span class="arg">v1</span>,&nbsp;<span class="arg">v2</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Sets the row values from the supplied values.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix to receive the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">row</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The index of the row to receive the values.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v0</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The value for column 0.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v1</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The value for column 1.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v2</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The value for column 2.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line323">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.setRows"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">setRows<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">vec0</span>,&nbsp;<span class="arg">vec1</span>,&nbsp;<span class="arg">vec2</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Sets the rows of the matrix from the supplied vectors.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix to receive the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec0</span>
        : <span class="type">goog.vec.vec3d.Type</span>
        <div class="entryOverview">The values for row 0.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">vec1</span>
        : <span class="type">goog.vec.vec3d.Type</span>
        <div class="entryOverview">The values for row 1.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec2</span>
        : <span class="type">goog.vec.vec3d.Type</span>
        <div class="entryOverview">The values for row 2.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line375">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.subMat"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">subMat<span class="args">(<span class="arg">mat0</span>,&nbsp;<span class="arg">mat1</span>,&nbsp;<span class="arg">resultMat</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Performs a per-component subtraction of the matrices mat0 and mat1,
storing the result into resultMat.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat0</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The minuend.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">mat1</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The subtrahend.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">resultMat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix to receive
    the results (may be either mat0 or mat1).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return resultMat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line474">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.toEulerZXZ"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">toEulerZXZ<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">euler</span>,&nbsp;<span class="arg">opt_theta2IsNegative</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.vec3d.Type</span>
      </div>


     <div class="entryOverview">
       Decomposes a rotation matrix into Euler angles using the ZXZ convention so
that rotation = rotation_z(theta1) * rotation_x(theta2) * rotation_z(theta3),
with theta1 in [0, 2 * pi], theta2 in [0, pi] and theta3 in [0, 2 * pi].
rotation_x(theta) means rotation around the X axis of theta radians.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">euler</span>
        : <span class="type">goog.vec.vec3d.Type</span>
        <div class="entryOverview">The ZXZ Euler angles in
    radians as [theta1, theta2, theta3].</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_theta2IsNegative</span>
        : <span class="type">boolean=</span>
        <div class="entryOverview">Whether theta2 is in [-pi, 0] instead
    of the default [0, pi].</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.vec3d.Type</span>&nbsp;
            return euler so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line1008">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.mat3d.transpose"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.mat3d.</span><span class="entryName">transpose<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">resultMat</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.mat3d.Type</span>
      </div>


     <div class="entryOverview">
       Transposes the given matrix mat storing the result into resultMat.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix to transpose.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">resultMat</span>
        : <span class="type">goog.vec.mat3d.Type</span>
        <div class="entryOverview">The matrix to receive
    the results (may be mat).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.mat3d.Type</span>&nbsp;
            return resultMat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat3d.js.source.html#line555">code &raquo;</a>
  </td>
     </tr>


  </table>
</div>






      <!-- Column 1 end -->
    </div>

        <div class="col2">
          <!-- Column 2 start -->
          <div class="col2-c">
            <h2 id="ref-head">Directory vec</h2>
            <div id="localView"></div>
          </div>

          <div class="col2-c">
            <h2 id="ref-head">File Reference</h2>
            <div id="sideFileIndex" rootPath="" current="/goog/vec/mat3d.js"></div>
          </div>
          <!-- Column 2 end -->
        </div>
</div>
</div>

</body>
</html>
